/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import java.sql.ResultSet;


/**
 *
 * @author Ari Mendez
 *prueba de commit
 */
public class ControlDatos {
    
    private ControlDB cdb = new ControlDB();
    
    public boolean login(String u, String p){
        try{
            //String cadena="select nombre from cliente where nombre='"+u+"' and apellido='"+p+"';";
            String cadena="select * from Usuario where nombre='"+u+"' and password='"+p+"'";
            ResultSet result=cdb.obtenerConsulta(cadena);
            if(result.next())
                return true;
            else
                return false;
        }catch(Exception ex){ex.printStackTrace();
        return false;}
    }
  
 // USUARIO   
    
    public boolean agregarUsuario(String nombre, String password, String tipo, String fecha, String dias_vigencia, String id_cliente, String cliente){
        boolean exito;
        try{
            String cadena="insert into usuario (nombre, password, tipo, fecha, dias_vigencia, id_cliente) SELECT "+nombre+",'"+password+"',"+tipo+", '"+fecha+"', '"+dias_vigencia+"', "+id_cliente+" FROM cliente Where nombre = '"+cliente+"'"; 
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    
    public boolean eliminarUsuario(String cliente){
        boolean exito;
        try{
            String cadena="delete from usuario where nombre='"+cliente+"'";
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }        
  
    
    public boolean modificarUsuario(String password, String tipo, String nombre){        
        boolean exito;
        try{
            String cadena="UPDATE usuario SET password='"+password+"', tipo='"+tipo+"' WHERE nombre='"+nombre+"'";
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }    
    
    
    public boolean agregarCliente(String nombre, String apellido,String telefono, String direccion, String correo, String estado){
        boolean exito;
        try{
            String cadena="insert into Cliente (nombre,apellido,telefono,direccion,correo,estado) values(";
            cadena+="'"+nombre+"',";
            cadena+="'"+apellido+"',";
            cadena+="'"+telefono+"',";
            cadena+="'"+direccion+"',";
            cadena+="'"+correo+"',";
            cadena+=estado;
            cadena+=")";
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    
 // CONVENIO   
    
    public boolean agregarConvenio(String cliente, String fecha, String contrato, String tipo, String estado){
        boolean exito;
        try{
            String cadena="insert into convenio (id_cliente,fecha,numero_contrato,tipo,estado) values(";
            cadena+=cliente+",";
            cadena+="'"+fecha+"',";
            cadena+="'"+contrato+"',";
            cadena+="'"+tipo+"',";
            cadena+="'"+estado+"'";
            cadena+=")";
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    
    
 // CONSORCIO   
    
    public boolean agregarConsorcio(String fecha, String contrato, String tipo, String id_cliente, String cliente){
        boolean exito;
        try{
            String cadena="insert into consorcio (fecha, numero_contrato, tipo, id_cliente) SELECT '"+fecha+"','"+contrato+"','"+tipo+"', id_cliente FROM cliente Where nombre = '"+cliente+"'"; 
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    
    public boolean agregarCuenta(String cliente, String fecha, String nombre, String saldo, String estado){
        boolean exito;
        try{
            String cadena="insert into Cuenta (id_cliente,fecha,nombre,saldo,estado) values(";
            cadena+=cliente+",";
            cadena+="'"+fecha+"',";
            cadena+="'"+nombre+"',";
            cadena+=saldo+",";
            cadena+="'"+estado+"'";
            cadena+=")";
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    
    public boolean agregarServicio(String nombre, String desc, String col){
        boolean exito;
        try{
            String cadena="insert into Servicio (nombre,descripcion,Serviciocol) values(";
            cadena+="'"+nombre+"',";
            cadena+="'"+desc+"',";
            cadena+="'"+col+"'";
            cadena+=")";
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    
    public boolean unirClienteConsorcio(String consorcio,String cliente){
        boolean exito;
        try{
            String cadena="insert into Detalle_consorcio (id_consorcio,idcliente) values(";
            cadena+=consorcio+",";
            cadena+=cliente+")";
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    
    public boolean desunirClienteConsorcio(String consorcio,String cliente){
        boolean exito;
        try{
            String cadena="delete from Detalle_consorcio where ";
            cadena+="id_consorcio="+consorcio+" and ";
            cadena+="id_cliente="+cliente;
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return false;
    }
    
    public void unirConvenioServicioCuenta(String con, String ser, String cue,String est){
        try{
            String cadena="insert into servicio_convenio (id_convenio,id_servicio,id_cuenta,estado) values("
            +con+","
            +ser+","
            +cue+","
            +"'"+est+"')";
            cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();}
    }
    
    public void modificarCliente(){
        
    }
    
    public void modificarCuenta(){
        
    }
    
    public void modificarConsorcio(){
        
    }
    
    public void modificarConvenio(){
        
    }
    
    public boolean modificarServicio(String servicio, String canal){
        boolean exito;
        try{
            String cadena="update Servicio set canal='"+canal+"' where id_servicio="+servicio;
            exito=cdb.ejecutarComando(cadena);
        }catch(Exception ex){ex.printStackTrace();exito=false;}
        return exito;
    }
    

    
    public ResultSet consultaCuentas(){
        String cadena="select id_cuenta from Cuenta";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }
    
    public void importarCuenta(String id){
        
    }    
    
    public void importarCliente(String id){
        
    }
    
    public ResultSet consultaConvenios(){
        String cadena="select id_convenio from Convenio";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }
    
    public ResultSet consultaConsorcios(){
        String cadena="select co.id_consorcio,ci.nombre from Consorcio co, Cliente ci where co.id_cliente=ci.id_cliente";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }
    
    public ResultSet consultaServicios(){
        String cadena="select id_servicio,nombre from Servicio";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }
    
    public ResultSet consultaUsuarios(){
        String cadena="select * from Usuario";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }

    public ResultSet consultaClientes(){
        String cadena="select * from cliente";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }    
    
    public ResultSet listaConvenios(){
        String cadena="select * from Convenio";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }
    
    public ResultSet listaConsorcios(){
        String cadena="select * from Consorcio";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }
    
    public ResultSet listaServicios(){
        String cadena="select * from Servicio";
        ResultSet result=cdb.obtenerConsulta(cadena);
        return result;
    }
    
    

    
}
